#ifndef __DIGITAL_TUBE_H
#define	__DIGITAL_TUBE_H


#include "stm32f10x.h"

// 定义74HC595 的端口和引脚
#define DigitalTube_GPIO_PORT    GPIOB
//数据引脚定义，用于串行传输显示数据
#define DigitalTube_DS_PIN       GPIO_Pin_15 
//存储寄存器时钟引脚定义，数据锁存到存储寄存器
#define DigitalTube_STCP_PIN     GPIO_Pin_14  
//移位寄存器时钟引脚定义，数据逐位移入移位寄存器
#define DigitalTube_SHCP_PIN     GPIO_Pin_13  

// 声明变量（不分配内存）
extern const uint8_t digitPatterns[10];


// 定义数码管引脚的状态--共阴极数码管
#define SET_PIN(port, pin, state) \
    if (state) GPIO_SetBits(port, pin); \
    else GPIO_ResetBits(port, pin)

			
void DigitalTube_GPIO_Config(void);
void shiftOut(uint8_t data);
void latchData(void);
void displayDigit(uint8_t digit);

#endif /*_DIGITAL_TUBE_H */
